1. Field of the Invention
The present invention relates to a system for delivering Web site content to a refueling environment, and, more particularly, to a system providing customized Web pages to fuel dispenser sites that employs a remote facility which links a user identification with a state object such as an internet cookie utility.
2. Description of the Related Art
The World Wide Web is a wide-area hypermedia information retrieval system aimed at providing unlimited access to a large universe of documents. The architecture of the Web follows a conventional client-server model. Generally, a client refers to a machine or other such computer entity that requests information, while a server refers to an entity that provides the information.
Under the Web environment, Web browsers reside in clients and Web documents reside in servers. A Web browser is a client-side software program that may be run on a computers. Well known browsers include Netscape Navigator™ and Microsoft's Internet Explorer™. Web clients and Web servers communicate using a protocol called Hypertext Transfer Protocol (HTTP). The Web is that portion of the Internet which communicates in the HTTP protocol.
According to a conventional access protocol, a browser opens a connection to a specified server and initiates a request for a document. As known, this connection is facilitated with the use of Uniform Resource Locators (URLs). In response, the accessed server delivers the requested document, typically in the from of a text document coded in a standard Hypertext Markup Language format (HTML). When the connection is closed to conclude the session (i.e., the client-server interaction), the server returns to a passive role, namely, it can accept commands from the same or other clients but does not request the client to perform any actions.
More particularly, in response to a document request sent by a browser, a server sends multiple HTML files (i.e., Web site pages) contained within a sequence of messages implemented in the HTTP protocol. When the HTML file(s) are received by the client computer executing the browser, each communication stack layer performs its function until a datastream containing an HTTP header and corresponding data segment is presented to the browser. On the Internet, the communication stack implements a Transport Control Protocol/Internet Protocol (TCP/IP).
One portion of the browser verifies that the information and the HTTP header have been accurately delivered to the application program. The browser then displays the data delivered in the HTML files received from the server. Because the TCP/IP protocol used for the Internet is a packet communication protocol, several messages are typically required before a complete file is available for display.
Although the server functions chiefly to provide the client with requested information, the server may also send state information to a client for storage on the client side, which will be subsequently retransmitted to the server during a later visit. For example, when a server responds to an HTTP request by returning an HTTP document object to a client, the server may also send state information provided in the form of a state object. A cookie data field is one known data field that may be included in the HTTP header of an HTTP response to embody such state information.
State information is typically developed during the first interaction (i.e., web site visit) between the web server and the client-side browser. For example, in response to an incoming message requesting a multimedia object, the server examines the request to determine the Internet Protocol (IP) address of the requesting browser and to determine whether a cookie was received, for example, in the MIME heading of the request.
If the browser at the client-side (i.e., sender) is cookie enabled but no cookie is detected, then the request is considered by the server to originate from a new user. Accordingly, the server assigns a unique identification number or code to the sender that the server transmits back to the client-side browser in the form of a cookie. This transmission is accompanied by a write cookie instruction that causes the client browser to write a cookie containing that unique identification number on the local drive or memory of the sender. For example, the transmitted cookie is typically stored on the hard disk of the client PC within a cookie list compiled by the client PC. The cookie can be included within later communications involving returns visits by the client to the server.
Typically, the cookie includes a description of a range of URLs for which the related state information is considered valid. As known, this URL range definition could be set by appropriately setting the domain attribute field as part of the write cookie instruction. Thus, when the client system sends future HTTP requests to servers that fall within the range of defined URLs for a particular cookie, the requests will include a transmittal of the current value of the corresponding state object associated with the cookie.
The use of cookies has gained prominence in the field of Internet advertising. For example, advertisers are able to implement a limited form of targeted advertising over the Internet by maintaining a server-side user profile database that records user-specific information pertaining to various users that may potentially access the server. Each user profile is cross-indexed to a unique identification number previously assigned to the user (i.e., client-side sender) during a first visit by the user. An example of such a system may be found in U.S. Pat. No. 5,948,061, which is incorporated herein by reference thereto.
When the client system accesses a web site having an address within a limited range of domain names specified by a written cookie stored at the client, the client system automatically transmits a copy of the relevant cookie to the web server that hosts the accessed web site. The cookie preferably includes the unique identification number that was previously assigned to the client by the server during a first visit.
At the server side, the accessed server interprets the unique identification number contained within the received cookie as an indication of the identity of the client system. The server uses the cookie to identify the corresponding user profile information stored within the profile database maintained at the server side. In this manner, a customized copy of the requested web page can be constructed and delivered to the web browser based upon the user-specific profile data retrieved from the database.
However, current usage of this cookie utility cannot accommodate implementations where a user needs to receive customized web pages at various client machines. The unique identification numbers assigned by servers are machine-specific, namely, the identification number corresponds to a unique client entity. Accordingly, in the case where a common PC terminal is shared by various individuals accessing the same server at different times, the profile data on one user developed during a dedicated communications session will be commingled with profile data on another user accessing the same server during another communications session.
This commingling of profile data occurs because the server is not capable of distinguishing or discriminating between the different users. From the viewpoint of the server, it appears that the same user (and hence the same profile definition) is accessing the server since the incoming cookie containing the unique identification number is the same regardless of who is manning the client terminal (i.e., manipulating the browser). Accordingly, although several different individuals are accessing the same server at different times, the server is manipulating and working with the same user profile record since the corresponding client identification number transmitted in the cookie is the same for each access connection.
This limitation is particularly noticeable in application environments where system customers are mobile and services can be rendered over a wide geographic region. For example, in refueling environments having a network of fuel dispenser sites, it would be desirable to provide an operational functionality that delivers customized content while supporting client portability. In this manner, a customer can receive customized content regardless of the client location (i.e., fuel dispenser site) where the customer decides to establish an access connection to a specified server.